import tkinter as tk
from modData import modData
from viewRender import viewRender as vr
import shelve,os


#继承tk.Frame创建了一个类
class MyApplication(tk.Frame):

    def conf_chk(self):
        if "modPath" in self.db and "gamePath" in self.db:
            modPath=self.db['modPath'] 
            gamePath=self.db['gamePath']  
            if os.path.exists(modPath) and os.path.exists(gamePath):
                return True
        return False
    
    def gui_show(self):
        #显示主界面
        self.master.deiconify()
        self.md=modData(self)
        vr(self)      

    def __init__(self, master=None):
        #打开数据库
        self.db=shelve.open('my_db')

        #初始化父类，也就是他继承的Frame
        super().__init__(master)
        #把初始化好的master放到self里面
        self.master = master
        #确定显示位置
        self.x_root=256
        self.y_root=256

        #确定窗口大小，***x*** 是大小，单位是像素，后面的+***+***是控制窗口出现的位置x和y，也不知道是哪个神经病这么定义的这个函数
        master.geometry(f"384x512+{self.x_root}+{self.y_root}")
        master.title("鬼谷八荒MOD编辑器")
        #显示主界面
        self.pack(side="left",fill="both",expand=1)   
        #隐藏主界面
        self.master.withdraw()


        if self.conf_chk():
            self.gui_show()
        else:
            vr.config_view(self)


if __name__ == '__main__':
    root = tk.Tk()
    app = MyApplication(master=root)
    app.mainloop()
    app.db.close()


    